package com.byit.domain.quartz;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 定时任务调度信息 sys_job
 * 
 * @author morej
 */
@Data
@TableName("sys_job")
public class Job extends Model<Job> {
	private static final long serialVersionUID = 1L;

	/** 任务ID */
	@TableId("job_id")
	private Long jobId;

	/** 任务名称 */
	@TableField("job_name")
	private String jobName;

	/** 任务组名 */
	@TableField("job_group")
	private String jobGroup;

	/** 任务方法 */
	@TableField("method_name")
	private String methodName;

	/** 方法参数 */
	private String params;

	/** cron执行表达式 */
	@TableField("cron_expression")
	private String cronExpression;

	/** 任务状态（0正常 1暂停） */
	private String status;

	/** 删除状态（0正常 1删除） */
	@TableField("is_del")
	private int isDel;

	/** 创建者 */
	@TableField("create_by")
	private String createBy;

	/** 创建时间 */
	@TableField("create_time")
	@JSONField(format="yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	/** 更新者 */
	@TableField("update_by")
	private String updateBy;

	/** 更新时间 */
	@TableField("update_time")
	@JSONField(format="yyyy-MM-dd HH:mm:ss")
	private Date updateTime;

	/** 备注 */
	private String remark;

	@Override
	protected Serializable pkVal() {
		return this.jobId;
	}

}
